let fs = require('fs');
let path = require('path');

let getFilesInDir = function (dir) {
  let results = [ path.resolve(dir) ]; // path.resolve()方法将路径或路径片段的序列解析为绝对路径
  let files = fs.readdirSync(dir, 'utf-8'); // 返回一个包含""指定目录下所有文件名称"的数组对象
  files.forEach(file => {
    file = path.resolve(dir, file);
    let stats = fs.statSync(file); // 返回关于文件的信息
    if (stats.isFile()) { // 判断这个文件是文件还是文件夹
      results.push(file)
    } else if (stats.isDirectory()) { // 递归遍历
      results = results.concat(getFilesInDir(file))
    }
  });
  return results;
};

let files = getFilesInDir('./')
console.log(files);